[id].vue 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586
  1. <template>
  2. <!-- 农村市场详情页 -->
  3. <HomePageHead></HomePageHead>
  4. <HomePageNavigation></HomePageNavigation>
  5. <!-- 列表页广告一 -->
  6. <HomeTopTen :imgurl="adImg1" v-if="adImg1"></HomeTopTen>
  7. <div class="goods">
  8. <main class="index_main" v-if="shopType == 1">
  9. <section class="index_1 clearfix">
  10. <div class="breadcrumb">
  11. <div class="inner">
  12. <span class="location">当前位置 :</span>
  13. <el-breadcrumb :separator-icon="ArrowRight">
  14. <el-breadcrumb-item>
  15. <NuxtLink to="/">首页</NuxtLink>
  16. </el-breadcrumb-item>
  17. <el-breadcrumb-item v-if="p_parent_name != ''">
  18. <NuxtLink :to="`/${targetSegment}/index.html`"> {{ p_parent_name }}</NuxtLink>
  19. </el-breadcrumb-item>
  20. <el-breadcrumb-item v-if="parent_name != ''">
  21. <NuxtLink :to="`/${targetSegment}/${targetSegment1}/list-1.html`"> {{ parent_name }}
  22. </NuxtLink>
  23. </el-breadcrumb-item>
  24. <el-breadcrumb-item>
  25. {{ routeNewsTtitle }}
  26. </el-breadcrumb-item>
  27. </el-breadcrumb>
  28. </div>
  29. </div>
  30. </section>
  31. <section class="index_2 clearfix">
  32. <img class="index_2_img" :src="shopImg" :title="newsDetail.name" alt="">
  33. <div class="index_2_left">
  34. <h4 class="index_2_h4 dot1">{{ newsDetail.name }}</h4>
  35. <div class="index_2_title_box clearfix">
  36. <time class="index_2_title"> 更新日期:{{ newsDetail.updated_at }}</time>
  37. <span class="index_2_title">浏览次数:{{ newsDetail.hits }}</span>
  38. </div>
  39. <div class="index_2_ul clearfix">
  40. <div class="index_2_li clearfix">
  41. <label class="index_2_li_label">公 司 名</label>
  42. <span class="index_2_li_text "> {{ newsDetail.com }}</span>
  43. </div>
  44. <div class="index_2_li clearfix">
  45. <label class="index_2_li_label">所 在 地</label>
  46. <span class="index_2_li_text ">{{ newsDetail.address }}</span>
  47. </div>
  48. <div class="index_2_li clearfix">
  49. <label class="index_2_li_label">联 系 人</label>
  50. <span class="index_2_li_text ">{{ newsDetail.contact }}</span>
  51. </div>
  52. <div class="index_2_li clearfix">
  53. <label class="index_2_li_label">产品单价</label>
  54. <span class="index_2_li_text">
  55. {{ newsDetail.price }}
  56. 元/
  57. {{ newsDetail.unit }}
  58. </span>
  59. </div>
  60. <div class="index_2_li clearfix">
  61. <label class="index_2_li_label">最小定量</label>
  62. <span class="index_2_li_text ">{{ newsDetail.min }}</span>
  63. </div>
  64. <div class="index_2_li clearfix">
  65. <label class="index_2_li_label">供货总量</label>
  66. <span class="index_2_li_text ">{{ newsDetail.max }}</span>
  67. </div>
  68. <div class="index_2_li clearfix">
  69. <label class="index_2_li_label">有 效 期</label>
  70. <span class="index_2_li_text ">{{ getValidityTime(newsDetail) }}</span>
  71. </div>
  72. </div>
  73. </div>
  74. </section>
  75. <!-- 选项卡1 -->
  76. <section class="index_3 clearfix">
  77. <div class="shop_head_1 clearfix">
  78. <div class="shop_head_1_name" :class="{ shop_head_1_name_only: supply_num == 1 }"
  79. @mouseover="supply_num = 1">详情信息</div>
  80. <div class="shop_head_1_name" :class="{ shop_head_1_name_only: supply_num == 2 }"
  81. @mouseover="supply_num = 2">联系方式</div>
  82. <div class="shop_head_1_name" :class="{ shop_head_1_name_only: supply_num == 3 }"
  83. @mouseover="supply_num = 3">图片展示</div>
  84. </div>
  85. <div class="card_out clearfix">
  86. <div class="card_1_box clearfix card_1_box_only" v-if="supply_num == 1" v-html="newsDetail.detail">
  87. </div>
  88. <div class="card_1_box clearfix card_1_box_only" v-if="supply_num == 2">
  89. <p class="supply_art_box_p">公司名称:{{ newsDetail.com }}</p>
  90. <p class="supply_art_box_p">电子邮箱:{{ newsDetail.email }}</p>
  91. <p class="supply_art_box_p">邮政编码:{{ newsDetail.postal }}</p>
  92. <p class="supply_art_box_p">联系地址:{{ newsDetail.address }}</p>
  93. </div>
  94. <div class="card_1_box clearfix card_1_box_only" v-if="supply_num == 3">
  95. <div class="supply_art_box_img">
  96. <img :src="item" v-for="item in newsDetail.imgurl">
  97. </div>
  98. </div>
  99. </div>
  100. </section>
  101. <!-- 选项卡2 -->
  102. <section class="index_4 clearfix">
  103. <div class="box_1 clearfix">
  104. <div class="box_1_head">
  105. <div class="box_1_head_name">点击排行</div>
  106. </div>
  107. <div class="img_ul_1 clearfix">
  108. <div class="img_li_1 clearfix" v-for="(item, index) in pageData1" :key="index">
  109. <NuxtLink class="img_li_1_a" :href="getLinkPathDetail(item)" :title="item.title">
  110. <div class="img_li_1_img_box clearfix">
  111. <img class="img_li_1_img" :src="item.imgurl" :title="item.title" alt="">
  112. </div>
  113. <div class="img_li_1_dot2">{{ item.name }}
  114. </div>
  115. </NuxtLink>
  116. </div>
  117. </div>
  118. </div>
  119. <div class="box_1 clearfix">
  120. <div class="box_1_head">
  121. <div class="box_1_head_name">最新商机</div>
  122. </div>
  123. <div class="img_ul_1 clearfix">
  124. <div class="img_li_1 clearfix" v-for="(item, index) in pageData2" :key="index">
  125. <NuxtLink class="img_li_1_a" :href="getLinkPathDetail(item)" :title="item.title">
  126. <div class="img_li_1_img_box clearfix">
  127. <img class="img_li_1_img" :src="item.imgurl" :title="item.title" alt="">
  128. </div>
  129. <div class="img_li_1_dot2">{{ item.name }}
  130. </div>
  131. </NuxtLink>
  132. </div>
  133. </div>
  134. </div>
  135. </section>
  136. </main>
  137. <main class="index_main" v-if="shopType == 2">
  138. <section class=" clearfix">
  139. <div class="index_out_1_left clearfix">
  140. <section class="index_1 clearfix">
  141. <div class="breadcrumb">
  142. <div class="inner">
  143. <span class="location">当前位置 :</span>
  144. <el-breadcrumb :separator-icon="ArrowRight">
  145. <el-breadcrumb-item>
  146. <NuxtLink to="/">首页</NuxtLink>
  147. </el-breadcrumb-item>
  148. <el-breadcrumb-item v-if="p_parent_name != ''">
  149. <NuxtLink :to="`/${targetSegment}/index.html`"> {{ p_parent_name }}</NuxtLink>
  150. </el-breadcrumb-item>
  151. <el-breadcrumb-item v-if="parent_name != ''">
  152. <NuxtLink :to="`/${targetSegment}/${targetSegment1}/index.html`">
  153. {{ parent_name }}
  154. </NuxtLink>
  155. </el-breadcrumb-item>
  156. <el-breadcrumb-item>
  157. {{ routeNewsTtitle }}
  158. </el-breadcrumb-item>
  159. </el-breadcrumb>
  160. </div>
  161. </div>
  162. </section>
  163. <section class="index_2 clearfix">
  164. <img class="index_2_img" :src="shopImg" :title="newsDetail.name" alt="">
  165. <div class="index_2_right">
  166. <h4 class="index_2_h4 dot1">求购:{{ newsDetail.name }}</h4>
  167. <div class="index_2_ul clearfix">
  168. <div class="index_2_li clearfix">
  169. <label class="index_2_li_label">发布日期</label>
  170. <span class="index_2_li_text">{{ getTime(newsDetail.updated_at, 'year', 1) }}</span>
  171. </div>
  172. <div class="index_2_li clearfix">
  173. <label class="index_2_li_label">截止日期</label>
  174. <span class="index_2_li_text">{{ getTime(newsDetail.validity, 'year', 1) }}</span>
  175. </div>
  176. <div class="index_2_li clearfix">
  177. <label class="index_2_li_label">浏览次数</label>
  178. <span class="index_2_li_text">{{ newsDetail.hits }}</span>
  179. </div>
  180. <div class="index_2_li clearfix">
  181. <label class="index_2_li_label">联 系 人</label>
  182. <span class="index_2_li_text">{{ newsDetail.contact }}</span>
  183. </div>
  184. <div class="index_2_li clearfix">
  185. <label class="index_2_li_label">发布地区</label>
  186. <span class="index_2_li_text">{{ newsDetail.address }}</span>
  187. </div>
  188. <div class="index_2_li clearfix">
  189. <label class="index_2_li_label">座 机</label>
  190. <span class="index_2_li_text">{{ newsDetail.landline }}</span>
  191. </div>
  192. <div class="index_2_li clearfix">
  193. <label class="index_2_li_label">联系电话</label>
  194. <span class="index_2_li_text">{{ newsDetail.phone }}</span>
  195. </div>
  196. </div>
  197. </div>
  198. </section>
  199. </div>
  200. <div class="shop_3_right clearfix">
  201. <div class="choice_1_box clearfix">
  202. <div class="choice_1_btn_box clearfix">
  203. <div class="choice_1_btn" :class="{ choice_1_btn_only: supply_buy == 1 }"
  204. @mouseover="supply_buy = 1">
  205. <span class="choice_1_btn_a" title="供应商品">供应商品</span>
  206. </div>
  207. <div class="choice_1_btn " :class="{ choice_1_btn_only: supply_buy == 2 }"
  208. @mouseover="supply_buy = 2">
  209. <a class="choice_1_btn_a" title="求购商品">求购商品</a>
  210. </div>
  211. </div>
  212. <div class="choice_1_card_box">
  213. <!-- 供应商品 -->
  214. <div class="shop_ul_img_2 choice_1_card clearfix" v-show="supply_buy == 1">
  215. <div class="shop_li_img_2" v-for="(item, index) in pageData3" :key="index">
  216. <NuxtLink class="shop_li_img_2_a" :href="getLinkPathDetail(item)"
  217. :title="item.name">
  218. <div class="shop_li_img_2_num"> {{ index + 1 }} </div>
  219. <div class="shop_li_img_2_right clearfix">
  220. <img class="shop_li_img_2_img" :src="item.imgurl" :title="item.name" alt="">
  221. <div class="shop_li_img_2_text">
  222. {{ item.name }}
  223. </div>
  224. </div>
  225. </NuxtLink>
  226. </div>
  227. </div>
  228. <!-- 供应商品 -->
  229. <!-- 求购商品 -->
  230. <div class="shop_ul_img_2 choice_1_card clearfix" v-show="supply_buy == 2">
  231. <div class="shop_li_img_2" v-for="(item, index) in pageData4" :key="index">
  232. <NuxtLink class="shop_li_img_2_a" :href="getLinkPathDetail(item)"
  233. :title="item.name">
  234. <div class="shop_li_img_2_num"> {{ index + 1 }} </div>
  235. <div class="shop_li_img_2_right clearfix">
  236. <img class="shop_li_img_2_img" :src="item.imgurl" :title="item.name" alt="">
  237. <div class="shop_li_img_2_text">
  238. {{ item.name }}
  239. </div>
  240. </div>
  241. </NuxtLink>
  242. </div>
  243. </div>
  244. <!-- 求购商品 -->
  245. </div>
  246. </div>
  247. </div>
  248. </section>
  249. <!-- 选项卡1 -->
  250. <section class="index_3 clearfix">
  251. <div class="shop_head_1 clearfix">
  252. <div class="shop_head_1_name" :class="{ shop_head_1_name_only: buy_num == 1 }"
  253. @mouseover="buy_num = 1">详情信息</div>
  254. <div class="shop_head_1_name" :class="{ shop_head_1_name_only: buy_num == 2 }"
  255. @mouseover="buy_num = 2">发布人信息</div>
  256. </div>
  257. <div class="card_out clearfix">
  258. <div class="card_1_box clearfix card_1_box_only" v-show="buy_num == 1" v-html="newsDetail.detail">
  259. </div>
  260. <div class="card_1_box clearfix card_1_box_only" v-show="buy_num == 2">
  261. <P>公司名称:{{ newsDetail.com }}</P>
  262. <P>电子邮箱:{{ newsDetail.email }}</P>
  263. <P>邮政编码:{{ newsDetail.postal }}</P>
  264. <P>联系地址:{{ newsDetail.address }}</P>
  265. </div>
  266. </div>
  267. </section>
  268. <!-- 选项卡2 -->
  269. <section class="index_4 clearfix">
  270. <div class="box_1 clearfix">
  271. <div class="box_1_head">
  272. <div class="box_1_head_name">点击排行</div>
  273. </div>
  274. <div class="img_ul_1 clearfix">
  275. <div class="img_li_1 clearfix" v-for="(item, index) in pageData1" :key="index">
  276. <NuxtLink class="img_li_1_a" :href="getLinkPathDetail(item)" :title="item.title">
  277. <div class="img_li_1_img_box clearfix">
  278. <img class="img_li_1_img" :src="item.imgurl" :title="item.title" alt="">
  279. </div>
  280. <div class="img_li_1_dot2">{{ item.name }}
  281. </div>
  282. </NuxtLink>
  283. </div>
  284. </div>
  285. </div>
  286. <div class="box_1 clearfix">
  287. <div class="box_1_head">
  288. <div class="box_1_head_name">最新商机</div>
  289. </div>
  290. <div class="img_ul_1 clearfix">
  291. <div class="img_li_1 clearfix" v-for="(item, index) in pageData2" :key="index">
  292. <NuxtLink class="img_li_1_a" :href="getLinkPathDetail(item)" :title="item.title">
  293. <div class="img_li_1_img_box clearfix">
  294. <img class="img_li_1_img" :src="item.imgurl" :title="item.title" alt="">
  295. </div>
  296. <div class="img_li_1_dot2">{{ item.name }}
  297. </div>
  298. </NuxtLink>
  299. </div>
  300. </div>
  301. </div>
  302. </section>
  303. </main>
  304. </div>
  305. <!-- 列表页广告一 -->
  306. <HomeTopTen :imgurl="adImg2" v-if="adImg2"></HomeTopTen>
  307. <HomeFoot></HomeFoot>
  308. </template>
  309. <script setup>
  310. //0.页面依赖 start ---------------------------------------->
  311. import { onMounted, ref } from 'vue'
  312. import { ElBreadcrumb, ElBreadcrumbItem, ElMessage } from 'element-plus'
  313. import { ArrowRight } from '@element-plus/icons-vue'
  314. //0.页面依赖 end ---------------------------------------->
  315. //1.获得路由id start ---------------------------------------->
  316. const route = useRoute();
  317. const articleId = parseInt(route.params.id);
  318. const targetSegment = getRoutePath(1);
  319. const targetSegment1 = getRoutePath(2);
  320. const targetSegment2 = getRoutePath(3);
  321. const supply_num = ref(1)
  322. const buy_num = ref(1)
  323. const supply_buy = ref(1)
  324. //1.1 获得当前的路由id
  325. let routeId;
  326. let routeType;
  327. let navTitle = ref('')//二级导航标题
  328. let navCid = ref('')//二级导航id
  329. //通过导航路径反向查询导航id
  330. const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
  331. method: 'GET',
  332. query: {
  333. 'pinyin': targetSegment2,
  334. },
  335. });
  336. console.log("getRouteId", getRouteId);
  337. if (getRouteId.code == 200) {
  338. navTitle.value = getRouteId.data.alias
  339. navCid.value = getRouteId.data.category_id
  340. } else {
  341. console.log("获得路由id出错!", getRouteId.message)
  342. }
  343. //1.2 获取二级栏目
  344. let parent_name = ref('');//父级名称
  345. let parent_id = ref('');//父级id
  346. let parent_pinyin = ref('');//父级拼音
  347. const getRoutePName = await requestDataPromise('/web/getWebsiteRoute', {
  348. method: 'GET',
  349. query: {
  350. 'pinyin': targetSegment1,
  351. },
  352. });
  353. console.log("getRoutePName", getRoutePName);
  354. if (getRoutePName.code == 200) {
  355. routeId = getRoutePName.data.category_id
  356. parent_id.value = getRoutePName.data.category_id
  357. parent_name.value = getRoutePName.data.alias
  358. routeType = getRoutePName.data.type
  359. } else {
  360. console.log("获得路由id出错!", getRoutePName.message)
  361. }
  362. //1.3 获取一级栏目
  363. let p_parent_name = ref('');//父级名称
  364. let p_parent_id = ref('');//父级id
  365. let p_parent_pinyin = ref('');//父级拼音
  366. const getRoutePName_parent = await requestDataPromise('/web/getWebsiteRoute', {
  367. method: 'GET',
  368. query: {
  369. 'pinyin': targetSegment,
  370. },
  371. });
  372. console.log("getRoutePName_parent", getRoutePName_parent);
  373. if (getRoutePName_parent.code == 200) {
  374. p_parent_id.value = getRoutePName_parent.data.category_id
  375. p_parent_name.value = getRoutePName_parent.data.alias
  376. // p_parent_pinyin.value = getRoutePName_parent.data.aLIas_pinyin
  377. } else {
  378. console.log("获得路由id出错!", getRoutePName_parent.message)
  379. }
  380. //1.4 获取某个栏目
  381. const getParentId = await requestDataPromise('/web/getOneWebsiteCategory', {
  382. method: 'GET',
  383. query: {
  384. 'catid': parent_id.value,
  385. },
  386. });
  387. console.log("getParentId", getParentId);
  388. if (getParentId.code == 200) {
  389. parent_pinyin.value = getParentId.data.aLIas_pinyin
  390. } else {
  391. console.log("获得路由id出错!", getParentId.message)
  392. }
  393. //1.5是否展示有效期
  394. const getValidityTime = (shopData) => {
  395. if (shopData.islong == 1) {
  396. return "无期限"
  397. } else {
  398. if (shopData.validity) {
  399. return shopData.validity.split(' ')[0];
  400. }
  401. }
  402. }
  403. //1.获得路由id end ---------------------------------------->
  404. //2.获得模块数据 start ---------------------------------------->
  405. const pageData1 = ref([])//点击排行
  406. const pageData2 = ref([])//最新商机
  407. const pageData3 = ref([])//供应商品
  408. const pageData4 = ref([])//求购商品
  409. //创建请求数据json
  410. let getJson = [
  411. { "level": "3,0,8" },//点击排行
  412. { "level": "4,0,8" },//最新商机
  413. { "level": "5,0,6" },//供应商品
  414. { "level": "6,0,6" },//求购商品
  415. ]
  416. let jsonString = JSON.stringify(getJson)
  417. //获取所有数据
  418. async function getPageAllData() {
  419. const mkdata = await requestDataPromise('/web/getWebsiteshop', {
  420. method: 'GET',
  421. query: {
  422. 'id': jsonString,
  423. 'catid': 713,
  424. },
  425. });
  426. if (mkdata.code == 200) {
  427. //点击排行
  428. pageData1.value = mkdata.data.goods[0];
  429. //最新商机
  430. pageData2.value = mkdata.data.goods[1];
  431. //供应商品
  432. pageData3.value = mkdata.data.goods[2];
  433. //求购商品
  434. pageData4.value = mkdata.data.goods[3];
  435. } else {
  436. ElMessage.error(mkdata.message)
  437. }
  438. }
  439. getPageAllData();
  440. //2.获得模块数据 end ---------------------------------------->
  441. //4.新闻详情 start ---------------------------------------->
  442. //4.1 资讯详情
  443. const newsDetail = ref({})
  444. const routeNewsTtitle = ref("");
  445. //4.2 发布日期
  446. const time = ref("");
  447. //4.3 路径
  448. const routLevelTitle = ref("");
  449. const routLevelId = ref("");
  450. //4.4 是否展示投票
  451. const articleChoice = ref(false);
  452. //4.5 获取详情
  453. let shopImg = ref('')
  454. let shopType = ref(1)
  455. let seoTitle;
  456. let seoDescription;
  457. let seoKeywords;
  458. async function getPageData() {
  459. const mkdata = await requestDataPromise('/web/getWebsiteshopInfo', {
  460. method: 'GET',
  461. query: {
  462. 'id': articleId
  463. },
  464. });
  465. if (mkdata.code == 200) {
  466. //获取内容
  467. newsDetail.value = mkdata.data;
  468. shopType.value = mkdata.data.type_id
  469. //获取路径
  470. routLevelTitle.value = newsDetail.value.cat_name;
  471. routLevelId.value = newsDetail.value.category_id;
  472. shopImg.value = mkdata.data.imgurl[0]
  473. //获取发布时间
  474. if (newsDetail.value.updated_at) {
  475. time.value = newsDetail.value.updated_at.split(' ')[0];
  476. }
  477. //修正标题长度
  478. if (newsDetail.value.name.length >= 20) {
  479. routeNewsTtitle.value = newsDetail.value.name.substr(0, 20) + "...";
  480. } else {
  481. routeNewsTtitle.value = newsDetail.value.name
  482. }
  483. seoTitle = newsDetail.value.name;
  484. seoDescription = newsDetail.value.description;
  485. seoKeywords = newsDetail.value.keyword;
  486. } else {
  487. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  488. console.log("错误位置:获取详情内容")
  489. console.log("后端错误反馈:", mkdata.message)
  490. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  491. }
  492. }
  493. getPageData();
  494. //4.新闻详情 end ---------------------------------------->
  495. //5.设置seo信息 start---------------------------------------->
  496. const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
  497. method: 'GET',
  498. query: {
  499. 'catid': parent_id.value
  500. },
  501. });
  502. if (setData.code == 200) {
  503. let seoSuffix = setData.data.suffix;
  504. let seoName = setData.data.website_name;
  505. useSeoMeta({
  506. title: seoTitle + "_" + seoName + "_" + seoSuffix,
  507. meta: [
  508. { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
  509. { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
  510. ]
  511. });
  512. } else {
  513. console.log("设置频道页SEO出错!", setData.message)
  514. }
  515. //5.设置seo信息 end---------------------------------------->
  516. //6.广告 start ---------------------------------------->
  517. let adImg1 = ref([]);
  518. let adImg2 = ref([]);
  519. onMounted(async () => {
  520. const { $webUrl, $CwebUrl } = useNuxtApp();
  521. //广告1
  522. let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snscw_detail_0001`
  523. const responseAd1 = await fetch(url, {
  524. headers: {
  525. 'Content-Type': 'application/json',
  526. 'Userurl': $CwebUrl,
  527. 'Origin': $CwebUrl
  528. }
  529. });
  530. const resultAd1 = await responseAd1.json();
  531. adImg1.value = resultAd1.data[0];
  532. //广告2
  533. let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snscw_detail_0002`
  534. const responseAd2 = await fetch(url2, {
  535. headers: {
  536. 'Content-Type': 'application/json',
  537. 'Userurl': $CwebUrl,
  538. 'Origin': $CwebUrl
  539. }
  540. });
  541. const resultAd2 = await responseAd2.json();
  542. adImg2.value = resultAd2.data[0];
  543. })
  544. //6.广告 end ---------------------------------------->
  545. //8.页面图片放大 start---------------------------------------->
  546. const previewVisible = ref(false)
  547. const selectedImage = ref(' ')
  548. const openPreview = (event) => {
  549. if (event.target.tagName === 'IMG') {
  550. selectedImage.value = event.target.src;
  551. previewVisible.value = true;
  552. }
  553. }
  554. const closePreview = () => {
  555. previewVisible.value = false;
  556. }
  557. //8.页面图片放大 end---------------------------------------->
  558. </script>
  559. <style lang="less" scoped>
  560. @import url('@/assets/css/shop/goodsDetail.less');
  561. @import url('@/assets/css/shop/goodsDetail1.less');
  562. </style>